Relative Completeness of Abstraction Refinement for Software Model Checking
نویسندگان
چکیده
Automated methods for an undecidable class of verification problems cannot be complete (terminate for every correct program). We therefore consider a new kind of quality measure for such methods, which is completeness relative to a (powerful but unrealistic) oraclebased method. More precisely, we ask whether an often implemented method known as “software model checking with abstraction refinement” is complete relative to fixpoint iteration with “oracle-guided” widening. We show that whenever backward fixpoint iteration with oracle-guided widening succeeds in proving a property φ (for some sequence of widenings determined by the oracle) then software model checking with a particular form of backward refinement will succeed in proving φ. Intuitively, this means that the use of fixpoint iteration over abstractions and a particular backwards refinement of the abstractions has the effect of exploring the entire state space of all possible sequences of widenings.
منابع مشابه
Ranked Predicate Abstraction for Branching Time: Complete, Incremental, and Precise
Predicate abstraction frameworks are a powerful means of combating the state explosion problem in model checking as they automatically synthesize abstract models that either verify compliance with a property, give rise to a genuine counter-example or produce a spurious counter-example that drives refinement of the abstract model. Prominent tools for safety (e.g. Blast) and termination (e.g. Ter...
متن کاملModel Checking with Abstraction Refinement for Well-Structured Systems Master Thesis
Abstraction plays an important role in the verification of infinite-state systems. One of the most promising and popular abstraction techniques is predicate abstraction. The right abstraction, i.e. the one that is sufficiently precise to prove or disprove the property under consideration, is automatically constructed by iterative abstraction refinement. The abstract-check-refine loop is not gua...
متن کاملARMC: The Logical Choice for Software Model Checking with Abstraction Refinement
Software model checking with abstraction refinement is emerging as a practical approach to verify industrial software systems. Its distinguishing characteristics lie in the way it applies logical reasoning to deal with abstraction. It is therefore natural to investigate whether and how the use of a constraint-based programming language may lead to an elegant and concise implementation of a prac...
متن کاملDesign Verification for Sequential Systems at Various Abstraction Levels
ion and Refinement for Design Verification at Logic Level Abstraction refinement has recently emerged as an enabling technology for applying model checking techniques to large real-life designs. Previous techniques for abstraction refinement work on static abstractions, in that the abstract model produced by the abstraction algorithm is not modified by the downstream model checking. We propose ...
متن کاملRelative Completeness of Abstraction Re nement for Software Model Checking
Automated methods for an undecidable class of veri cation problems cannot be complete (terminate for every correct program). We therefore consider a new kind of quality measure for such methods, which is completeness relative to a (powerful but unrealistic) oracle-based method. More precisely, we ask whether an often implemented method known as \software model checking with abstraction re nemen...
متن کامل